package com.kandinfo.survey.questionnaire.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.kandinfo.base.common.dto.ResultDto;
import com.kandinfo.survey.questionnaire.dto.QuestionnaireInfoRequestDto;
import com.kandinfo.survey.questionnaire.service.QuestionnaireInfoService;

/**
 * 问卷信息相关, created on 11/29/2016
 * 
 * @author Patrick-chenziping-TG
 * 
 */
@Controller
@RequestMapping(value = "/questionnaireinfo")
public class QuestionnaireInfoController {

    @Autowired
    QuestionnaireInfoService questionnaireInfoService;

    /**
     * 新建问卷
     * 
     * @param questionnaireDto
     * @return
     */
    @RequestMapping(value = "/new-questionnaire", method = RequestMethod.POST)
    @ResponseBody
    public ResultDto newQuestionnaire(@RequestBody QuestionnaireInfoRequestDto questionnaireInfoDto) {
        return questionnaireInfoService.newQuestionnaire(questionnaireInfoDto);
    }

    /**
     * 修改问卷信息(建议questionnaireDto提交前，验证信息是否完全)
     * 
     * @param questionnaireDto
     * @return
     */
    @RequestMapping(value = "/edit-questionnaire", method = RequestMethod.POST)
    @ResponseBody
    public ResultDto editQuestionnaire(@RequestBody QuestionnaireInfoRequestDto questionnaireInfoDto) {
        return questionnaireInfoService.editQuestionnaire(questionnaireInfoDto);
    }

    /**
     * 删除问卷(置为逻辑删除，关联题目不做处理)
     * 
     * @param questionnaireDto
     * @return
     */
    @RequestMapping(value = "/delete-questionnaire", method = RequestMethod.POST)
    @ResponseBody
    public ResultDto deleteQuestionnaire(@RequestBody QuestionnaireInfoRequestDto questionnaireInfoDto) {
        return questionnaireInfoService.deleteQuestionnaire(questionnaireInfoDto);
    }

}
